package com.vcc.core.derive.admin;

import cn.idev.excel.annotation.ExcelProperty;
import cn.idev.excel.converters.bigdecimal.BigDecimalStringConverter;
import cn.idev.excel.converters.longconverter.LongStringConverter;
import com.vcc.core.derive.converter.DateConverter;
import com.vcc.core.derive.converter.cardOrder.OrderStatusConverter;
import com.vcc.core.derive.converter.cardOrder.OrderTypeConverter;
import com.vcc.core.derive.converter.userCard.StatusConverter;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;

import java.io.Serializable;
import java.math.BigDecimal;
import java.util.Date;

@Data
@Builder
@AllArgsConstructor
@NoArgsConstructor
public class DeriveUserCard implements Serializable {

    @ExcelProperty(value = "卡id",converter =  LongStringConverter.class)
    private Long id;

    @ExcelProperty(value = "用户id",converter =  LongStringConverter.class)
    private Long userId;

    @ExcelProperty(value = "账号")
    private String account;

    @ExcelProperty(value = "渠道")
    private String channel;

    @ExcelProperty(value = "卡号")
    private String cardNumber;

    @ExcelProperty(value = "安全码")
    private String cvc;

    @ExcelProperty(value = "有效期")
    private String expiry;

    @ExcelProperty(value = "余额",converter =  BigDecimalStringConverter.class)
    private BigDecimal usableQuota;

    @ExcelProperty(value = "备注")
    private String remark;

    @ExcelProperty(value = "请求时间",converter = DateConverter.class)
    private Date requestDate;

    @ExcelProperty(value = "卡状态",converter = StatusConverter.class)
    private String cardStatus;

    @ExcelProperty(value = "持卡人姓")
    private String firstName;

    @ExcelProperty(value = "持卡人名")
    private String lastName;

    @ExcelProperty(value = "代理账号")
    private String dealerAccount;
}
